﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Xml.Serialization;
using System.Xml;
using System.Reflection;
using BlueLotus7.ArchiveSystem.Interfaces;
using System.Globalization;

namespace BlueLotus7.ArchiveSystem.Common
{
    /// <summary>
    /// Task for crawling article and comments
    /// </summary>
    [DataContract]
    [KnownType(typeof(BaseArchiveTask))]
    public class ReportableTask : BaseArchiveTask
    {
        [DataMember]
        protected int options;

        [DataMember]
        public Guid AssignedToClientKey
        {
            get;
            set;
        }

        [DataMember]
        public string Name
        {
            get;
            set;
        }

        [DataMember]
        public DateTime CreatedStamp
        {
            get;
            set;
        }

        [DataMember]
        public DateTime? LastExecutedStamp
        {
            get;
            set;
        }

        [DataMember]
        public bool IsDisabled
        {
            get;
            set;
        }

        public int OptionsValue
        {
            get
            {
                return this.options;
            }
            set
            {
                this.options = value;
            }
        }

        public virtual List<SubOperationTask> GenerateSubTasks()
        {
            return new List<SubOperationTask>();
        }
    }
}
